package com.edu.client;

import com.edu.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author 麦翔盛
 * @description: 通过nacos调用的接口
 * 在这里定义调用的方法
 * 【注意】路径要填写完整的，不能填写
 * 同时需要在@FeignClient("")定义服务的名称
 * @PathVariale 中需要定义参数的名称（括号内要加上参数）
 * @date 2021/10/30 20:21
 */
//在fallback中定义出错执行的类
@FeignClient(name = "vod-oss",fallback = VodFileDegradeFeignClient.class)
@Component
public interface VodClient {
    /**
     * 删除在阿里云的点播视频
     *
     * @param id 根据视频id删除视频
     * @return
     */
    @DeleteMapping("ali/oss/fileoss/removeAlyVideo/{id}")
    public R removeAlyVideo(@PathVariable("id") String id);

    /**
     * 批量删除视频
     * @param videoList 视频id的集合
     * @return
     */
    @DeleteMapping("ali/oss/fileoss/removeVideo")
    public R removeVideos(@RequestParam(value = "videoList") List<String> videoList);
}
